package com.zhuoyue.system.mapper;

import com.zhuoyue.common.annotation.DataScope;
import com.zhuoyue.system.domain.SysMovement;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 企业动态Mapper接口
 *
 * @author zhanghui
 * @date 2021-08-23
 */
public interface SysMovementMapper {
    /**
     * 查询企业动态
     *
     * @param id 企业动态ID
     * @return 企业动态
     */
    SysMovement selectSysMovementById(Long id);

    /**
     * 查询企业动态列表
     *
     * @param sysMovement 企业动态
     * @return 企业动态集合
     */
    @DataScope(deptAlias = "s_d")
    List<SysMovement> selectSysMovementList(SysMovement sysMovement);

    /**
     * 查询企业动态列表
     *
     * @param orgCode 组织编码
     * @return 企业动态集合
     */
    List<SysMovement> selectSysMovementListForApp(@Param("orgCode") String orgCode);

    /**
     * 新增企业动态
     *
     * @param sysMovement 企业动态
     * @return 结果
     */
    int insertSysMovement(SysMovement sysMovement);

    /**
     * 修改企业动态
     *
     * @param sysMovement 企业动态
     * @return 结果
     */
    int updateSysMovement(SysMovement sysMovement);

    /**
     * 删除企业动态
     *
     * @param id 企业动态ID
     * @return 结果
     */
    int deleteSysMovementById(Long id);

    /**
     * 批量删除企业动态
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    int deleteSysMovementByIds(Long[] ids);

    int addClickCount(@Param("id") Long id, @Param("count") int count);

    int setStatusDisableOfOrgAndType(@Param("deptId") Long deptId, @Param("dictCode") Long dictCode);
}
